package com.wlsk.license.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wlsk.license.dao.entity.Plate;
import com.wlsk.license.dto.request.PlateDraftPageReqDto;
import com.wlsk.license.dto.response.PlateCountResultDto;
import com.wlsk.license.dto.response.PlateDraftPageResultDto;
import com.wlsk.license.dto.response.PlatePageResultDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 包车牌信息表 Mapper 接口
 * </p>
 *
 * @author liuzhangbin
 * @since 2025-08-26
 */
public interface PlateMapper extends BaseMapper<Plate> {

    /**
     * 分页查询包车牌信息
     *
     * @param page  分页参数
     * @param orgId 机构ID
     * @return 分页结果
     */
    List<PlatePageResultDto> selectPlatePage(@Param("orgId") Long orgId);

    int selectNextSequence(@Param("applyNumber") String applyNumber);

    /**
     * 分页查询包车牌草稿信息
     *
     * @param reqDto 查询条件
     * @return 分页结果
     */
    List<PlateDraftPageResultDto> selectPlateDraftPage(@Param("reqDto") PlateDraftPageReqDto reqDto);

    /**
     * 统计包车牌各种数量
     *
     * @param reqDto 查询条件
     * @return 分页结果
     */
    PlateCountResultDto countPlateStatistics(@Param("reqDto") PlateDraftPageReqDto reqDto);
}
